package com;

import com.threadpool.ThreadPoolCreator;
import com.task.TimePrintTask;

import java.util.concurrent.ThreadPoolExecutor;

public class Main {
    public static void main(String[] args) {
        // 1. 创建ThreadPoolExecutor线程池
        ThreadPoolExecutor threadPool = ThreadPoolCreator.createThreadPool();

        // 2. 创建耗时任务实例
        TimePrintTask timeTask = new TimePrintTask();

        // 3. 提交任务到线程池（线程池自动分配线程执行）
        threadPool.submit(timeTask);

        // 4. 等待任务执行完成（1分05秒后关闭线程池，预留5秒缓冲）
        try {
            Thread.sleep(65 * 1000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        } finally {
            // 关闭线程池：停止接收新任务，等待已提交任务执行完毕
            threadPool.shutdown();
            System.out.println("=== 线程池已关闭 ===");
        }
    }
}
